It is often useful
to associate reference material with an outline node/task. Small
chunks of plain text can simply be stored in the subtree of a
project. Hyperlinks (see Hyperlinks) can establish
associations with files that live elsewhere on your computer or
in the cloud, like emails or source code files belonging to a
project. Another method is attachments, which are files
located in a directory belonging to an outline node. Org uses
directories named by the unique ID of each entry. These
directories are located in the data directory which lives in the same
directory where your Org file lives1. If you initialize this
directory with git init, Org will automatically
commit changes when it sees them. The attachment system has been
contributed to Org by John Wiegley.
In cases where it seems better to do so, you can also attach a directory of your choice to an entry. You can also make children inherit the attachment directory from a parent, so that an entire subtree uses the same attached directory.
The following commands deal with attachments:
org-attach)org-attach-attach)org-attach-method. Note that hard links are
not supported on all systems.
org-attach-new)org-attach-sync)org-attach-open)org-file-apps. For more details, see the
information on following hyperlinks (see Handling links).
org-attach-open-in-emacs)org-attach-reveal)org-attach-reveal-in-emacs)org-attach-delete-one)org-attach-delete-all)org-attach-set-directory)ATTACH_DIR property.
org-attach-set-inherit)ATTACH_DIR_INHERIT property, so that
children will use the same directory for attachments as the
parent does.[1] If you move entries or Org files from one
directory to another, you may want to configure
org-attach-directory to contain an absolute
path.